3D computer graphics is used in a wide range of fields such as computer aided design (CAD) and computer games. 3D computer graphics may be used to generate perspective views of 3D models. This may be used in a design process as is the case with CAD or for the purpose of entertainment as is the case with computer games. A common problem facing 3D compute graphics is the large computational resources needed. This is especially a problem for real time 3D computer graphics as the lack of computational resources will result in a decreased frame rate with a corresponding decreased user experience.
The intensive research in computing has been matched by an analogous increase in complexity of the computer models. This is both the case for CAD where larger structures are design as well as computer games where an increased detail level results in more complex models. A common group of objects to represent with 3D computer graphics are composite products. Composite products are products comprised of a number of smaller physical components.
Examples of composite products comprising a large number of components include large machines, cars, airplanes and other vehicles, buildings, as well as products that are sold and shipped unassembled, such as furniture, toy models, etc. A particular example of products that are composed of a large number of smaller components, include toy construction sets including a plurality of interconnectable toy construction elements.
There are various known types of modelling concepts of such toy construction sets. Especially modular or semi-modular concepts are very popular as they provide an interesting and challenging play experience. Typically, these concepts provide a set of pre-manufactured building elements that can be interconnected with each other in some predetermined way by means of connection elements or other coupling means of the pre-manufactured elements. The pre-manufactured building elements may resemble well-known objects adapted to a specific modelling task. Thus in e.g. building a model of a house the building elements may resemble wall bricks, roof tiles, doors, and windows. An advantage of selecting the building elements in this way is that the play is put into system and the work involved with the building of a model of a house is reduced significantly compared to a situation where all details of the house are to be defined each time a new model should be made. However, the complete freedom in building a house or another object is traded off for the simplicity of building the model.
For example, the toy construction sets available under the name LEGO comprise a plurality of different types of interconnectable building elements having protrusions and corresponding cavities as connecting elements. The connecting elements are arranged according to regular grid patterns, thereby allowing a wide variety of interconnections between building elements.
A known way of reducing the computational load needed for visualising/rendering a computer model is occlusion culling. Occlusion culling works by finding faces hidden from a given viewing perspective. Known occlusion culling algorithms are however slow and need to be run every time the view changes. This is especially a problem for computer aided design and computer games as the view in these application typically changes often resulting in an a large computational load caused by the occlusion culling algorithm.
It remains thus a problem to visualise/render composite products, in a computationally efficient way.